package com.arpa.oms.mapper;
import com.arpa.oms.domain.dto.SaleDto;
import com.arpa.oms.domain.entity.Sale;
import com.arpa.oms.domain.vo.SaleVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * OMS销售单 Mapper 接口
 * </p>
 *
 * @author LEO
 * @since 2020-10-22
 */
public interface SaleMapper extends BaseMapper<Sale> {

    /**
     * 查询列表
     * @param dto
     * @return
     */
    List<SaleVO> queryList(SaleDto dto);

    /**
     * 查询合计,包含总数
     * @param dto
     * @return
     */
    SaleVO queryListSum(SaleDto dto);

    /**
     * wms完成后，根据已更新的销售单明细更新销售单的实际出库数量（销售单位、基本单位）
     * @param code
     */
    void afterWmsUpdateQuantity(@Param("code") String code);

    /**
     * 更新销售表的退货数量
     * @param code
     */
    void refreshOmsSaleRefundQuantity(@Param("code") String code);
}
